perm filename PICNET.SAI[BIG,HPM]4 blob sn#230237 filedate 1976-08-05 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "PICNET"
C00005 ENDMK
C⊗;
BEGIN "PICNET"
REQUIRE "DDHDR.SAI[GRA,HPM]" SOURCE_FILE;
INTEGER PORTS,ROWS,LEVELS;
INTEGER I,J,K,L,M,C,D;

DDINIT;
WHILE TRUE DO
   BEGIN
   OUTSTR("PORTS:"); PORTS←CVD(INCHWL);
   OUTSTR("LEVELS:"); LEVELS←CVD(INCHWL);
   ROWS←PORTS↑(LEVELS-1);

   OUTSTR("DD CHAN "&CVOS(C←GDDCHN(-1))&" "&CVOS(D←GDDCHN(-1))&'15&'12);
   SCREEN(-.1*LEVELS,-.1*ROWS,1.1*LEVELS,1.1*ROWS);
   DRKEN; RECTAN(-1000,-1000,1000,1000);

   LITEN;
   FOR K←0 STEP 1 UNTIL LEVELS-1 DO FOR I←0 STEP 1 UNTIL ROWS-1 DO
      RECTAN(K+5/12,I+1/8,K+7/12,I+7/8);
   FOR I←1,2,3 DO DPYUP(C); SHOW(C);
 
   FOR I←0 STEP 1 UNTIL ROWS-1 DO
   FOR J←0 STEP 1 UNTIL PORTS-1 DO
      BEGIN
      RECTAN(0,I+(J+1/3)/PORTS,1/6,I+(J+2/3)/PORTS);
      LINE(1/6,I+(J+1/2)/PORTS,5/12,I+1/8+6/8*(J+1)/(PORTS+1));
      RECTAN(LEVELS-1/6,I+(J+1/3)/PORTS,LEVELS,I+(J+2/3)/PORTS);
      LINE(LEVELS-1/6,I+(J+1/2)/PORTS,LEVELS-1+7/12,I+1/8+6/8*(J+1)/(PORTS+1));
      END;
   FOR I←1,2,3 DO DPYUP(D);

   FOR K←0 STEP 1 UNTIL LEVELS-2 DO
   FOR I←0 STEP 1 UNTIL ROWS-1 DO
   FOR J←0 STEP 1 UNTIL PORTS-1 DO
      BEGIN
      INTEGER II,JJ,KK,SUB,IMSUB;
      SUB←ROWS%PORTS↑K;
      IMSUB←I MOD SUB;
      KK←K+1;
      II←(J*SUB+IMSUB)%PORTS+I-IMSUB;
      JJ←IMSUB MOD PORTS;
      LINE(K+7/12,I+1/8+6/8*(J+1)/(PORTS+1),
          KK+5/12,II+1/8+6/8*(JJ+1)/(PORTS+1));
      SHOWA(D); SHOWS(C); DPYUP(C); DPYUP(C); D↔C;
      END;
   SHOWA(D);
   IF (INCHRW LAND '137)="X" THEN
      BEGIN
      SHOWA(-1);
      OUTSTR(" xgping ... "&'15&'12);
      XGPUP(5);
      END;
   CLRBUF; SHOW(-1); RDDCHN(C);
   END;
END;